Wirelessly syncing content of an application without requiring device to be plugged into power source

ABSTRACT

A method, system and computer program product for wirelessly syncing content. An analytics engine in a mobile computing device gathers and stores information regarding battery usage for data synchronizations. Upon receiving an indication for content of an application to be synced with the device, the analytics engine determines an estimated amount of content to be synced as well as an estimated amount of battery usage for syncing the estimated amount of content based on the stored information. The content will be wirelessly synced with the device if there is sufficient battery life for syncing the content. If there is not enough battery life for wirelessly syncing the entire content, then a portion of the content will be synced. In this manner, the device does not need to be plugged into a power source and will only sync the amount of content that the device has power to do so.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation application of pending U.S.patent application Ser. No. 13/914,746, which was filed on Jun. 11,2013, which is assigned to the assignee of the present invention. Thepresent application claims priority benefits to U.S. patent applicationSer. No. 13/914,746.

TECHNICAL FIELD

The present invention relates generally to content synchronization, andmore particularly to wirelessly syncing the content of an applicationwithout requiring the computing device to be plugged into a powersource.

BACKGROUND

Today, users may often use multiple computing devices, such as mobilecomputing devices and desktop computing devices. In addition, such usersmay utilize multiple instances of an application on these computingdevices. For example, instances of a media library application (e.g.,iTunes®) may be loaded onto a tablet computer, a smartphone and adesktop computer. In this way, the user may have access to the sameapplication and/or application data on multiple devices.

As a result of having multiple instances of an application on multipledevices, the content of the application on each device needs to besynchronized in order for the user to be provided with a seamless andconsistent experience. That is, the content for each of the instances ofthe application needs to be synchronized in order for each applicationto perform consistently regardless of which device the user is using.For example, if content has been added, deleted or updated for one ofthe instances of the application, then such content needs to besynchronized with the other instances of the application.

Currently, a computing device (e.g., smartphone) can be wirelesslysynced with another computing device (e.g., desktop computer) in orderto synchronize the content. However, the computing device (e.g.,smartphone) is required to be plugged into a power source in order to bewirelessly synced with the other computing device. The computing deviceis required to be plugged into a power source in order to wirelesslysync content as the computing device can end up in a “bad” state ifpower disappears during the synchronization of the content. However,since the computing device is required to be plugged into a powersource, it would not be much of an issue to also use a sync cable tosynchronize data contained on these two devices. Hence, the benefit ofwirelessly syncing content between two devices is greatly lessened.

Furthermore, a power cable may easily become disconnected with thecomputing device, such as by accidentally tripping over the cable orpicking up a mobile computing device to check the status of thesynchronization causing the power cable to be unplugged from the powersource. Furthermore, a power outage may occur. Hence, the computingdevice may still end up in a “bad” state even if the computing devicewas originally plugged into a power source. As a result, the requirementof connecting the computing device to a power source in order towirelessly sync content has many drawbacks.

BRIEF SUMMARY

In one embodiment of the present invention, a method for wirelesslysyncing content comprises gathering and storing information regardingbattery usage for data synchronizations with a device. The methodfurther comprises receiving an indication for content of an applicationto be synced with the device. Additionally, the method comprisesdetermining an estimated amount of content of the application to besynced as well as an estimated amount of battery usage for syncing theestimated amount of content of the application with the device based onthe stored information. In addition, the method comprises syncing, by aprocessor, the content of the application with the device in response toa battery life of the device exceeding the estimated amount of batteryusage for syncing the content of the application with the device.

Other forms of the embodiment of the method described above are in asystem and in a computer program product.

The foregoing has outlined rather generally the features and technicaladvantages of one or more embodiments of the present invention in orderthat the detailed description of the present invention that follows maybe better understood. Additional features and advantages of the presentinvention will be described hereinafter which may form the subject ofthe claims of the present invention.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

A better understanding of the present invention can be obtained when thefollowing detailed description is considered in conjunction with thefollowing drawings, in which:

FIG. 1 illustrates a network system configured in accordance with anembodiment of the present invention;

FIG. 2 illustrates a hardware configuration of a computing deviceconfigured in accordance with an embodiment of the present invention;and

FIGS. 3A-3B are a flowchart of a method for wirelessly synchronizingcontent without requiring the computing device to be plugged into apower source in accordance with an embodiment of the present invention.

DETAILED DESCRIPTION

The present invention comprises a method, system and computer programproduct for wirelessly syncing content. In one embodiment of the presentinvention, an analytics engine in a mobile computing device gathers andstores information regarding battery usage for data synchronizationswith the device. For example, the analytics engine may generatedistribution curves based on battery usage for synchronizing particulartypes of data (e.g., songs, videos, e-mail). Furthermore, the analyticsengine may generate a table indicating an average amount of content thatis synced for each application (e.g., a media application as opposed toan e-mail application). Upon receiving an indication for content of anapplication to be synced with the device, the analytics enginedetermines an estimated amount of content of the application to besynced as well as an estimated amount of battery usage for syncing theestimated amount of content of the application with the device based onthe stored information. The content of the application will be syncedwith the device if the battery life of the device exceeds the estimatedamount of battery life for syncing the content of the application withthe device. If there is not enough battery life for wirelessly syncingthe entire content, then a portion of the content, such as data that israted with a high prioritization, will be synced. Later, after thecomputing device has increased its battery life, the data that is ratedwith a low prioritization can be synced. In this manner, the computingdevice does not need to be plugged into a power source and will onlysync the amount of content that the computing device has power to do so.As a result, the computing device will not enter a “bad” state sincepower should not disappear during the synchronization of the content.

In the following description, numerous specific details are set forth toprovide a thorough understanding of the present invention. However, itwill be apparent to those skilled in the art that the present inventionmay be practiced without such specific details. In other instances,well-known circuits have been shown in block diagram form in order notto obscure the present invention in unnecessary detail. For the mostpart, details considering timing considerations and the like have beenomitted inasmuch as such details are not necessary to obtain a completeunderstanding of the present invention and are within the skills ofpersons of ordinary skill in the relevant art.

Referring now to the Figures in detail, FIG. 1 illustrates a networksystem 100 for practicing the principles of the present invention inaccordance with an embodiment of the present invention. Network system100 includes computing device 101A (identified as “Computing Device A”)wirelessly synchronizing content of an application with computing device101B (identified as “Computing Device B”) via a wireless network 102.Computing devices 101A-101B may collectively or individually be referredto as computing devices 101 or computing device 101, respectively.Computing device 101A may be any type of mobile computing device (e.g.,portable computing unit, Personal Digital Assistant (PDA), smartphone,laptop computer, mobile phone, navigation device, game console, Internetappliance and the like) configured with the capability of wirelesslyconnecting to network 102 and consequently communicating with computingdevice 101 B to synchronize the content of an application. Computingdevice 101B may be any type of computing device (e.g., portablecomputing unit, Personal Digital Assistant (PDA), smartphone, laptopcomputer, mobile phone, navigation device, game console, desktopcomputer system, workstation, Internet appliance and the like)configured with the capability of wirelessly connecting to network 102and consequently communicating with computing device 101A. A descriptionof the hardware configuration of computing device 101 is provided belowin connection with FIG. 2.

Computing device 101A includes an analytics engine 103 configured towirelessly sync the content of an application with another computingdevice 101B without requiring computing device 101A to be plugged into apower source. Analytics engine 103 ensures that there is enough power towirelessly sync the content of an application by determining anestimated amount of battery usage for syncing the content. If there isnot enough battery life for wirelessly syncing the entire content, thena portion of the content, such as data that is rated with a highprioritization, will be synced. Later, after computing device 101A hasincreased its battery life, the data that is rated with a lowprioritization can be synced. In this manner, computing device 101A doesnot need to be plugged into a power source and will only sync the amountof content that computing device 101A has power to do so. As a result,computing device 101A will not enter a “bad” state since power shouldnot disappear during the synchronization of the content. A furtherdescription of the functionality of analytics engine 103 is providedbelow in connection with FIGS. 3A-3B.

Wireless network 102 may be, for example, a wireless local area network,a wireless wide area network, a Global System for Mobile Communications(GSM) network, a Wireless Application Protocol (WAP) network, a WiFinetwork, an IEEE 802.11 standards network, various combinations thereof,etc. Other networks, whose descriptions are omitted here for brevity,may also be used in conjunction with system 100 of FIG. 1 withoutdeparting from the scope of the present invention.

Referring now to FIG. 2, FIG. 2 illustrates a hardware configuration ofcomputing device 101 (e.g., computing device 101A of FIG. 1) which isrepresentative of a hardware environment for practicing the presentinvention. Referring to FIG. 2, computing device 101 has a processor 201coupled to various other components by system bus 202. An operatingsystem 203 runs on processor 201 and provides control and coordinatesthe functions of the various components of FIG. 2. An application 204 inaccordance with the principles of the present invention runs inconjunction with operating system 203 and provides calls to operatingsystem 203 where the calls implement the various functions or servicesto be performed by application 204. Application 204 of computing device101A may include, for example, analytics engine 103 of FIG. 1 forwirelessly syncing the content of an application as discussed furtherbelow in association with FIGS. 3A-3B. In one embodiment, analyticsengine 103 may be a copy on computing device 101 that is periodicallyupdated from a copy that resides in a cloud computing environment.

Referring again to FIG. 2, read-only memory (“ROM”) 205 is coupled tosystem bus 202 and includes a basic input/output system (“BIOS”) thatcontrols certain basic functions of computing device 101. Random accessmemory (“RAM”) 206 and disk adapter 207 are also coupled to system bus202. It should be noted that software components including operatingsystem 203 and application 204 may be loaded into RAM 206, which may becomputing device's 101 main memory for execution. Disk adapter 207 maybe an integrated drive electronics (“IDE”) adapter that communicateswith a disk unit 208, e.g., disk drive.

Computing device 101 may further include a communications adapter 209coupled to bus 202. Communications adapter 209 interconnects bus 202with an outside network (e.g., network 102 of FIG. 1) thereby enablingcomputing device 101 to communicate with other computing devices 101.

I/O devices may also be connected to computing device 101 via a userinterface adapter 210 and a display adapter 211. Keyboard 212, mouse 213and speaker 214 may all be interconnected to bus 202 through userinterface adapter 210. A display monitor 215 may be connected to systembus 202 by display adapter 211. In this manner, a user is capable ofinputting to computing device 101 through keyboard 212 or mouse 213 andreceiving output from computing device 101 via display 215 or speaker214.

Furthermore, computing device 101, such as computing device 101A, mayfurther include a battery 216 and a charging system 217 to chargebattery 216. Battery 216 may be charged through a transformer and powercord or through a host device or through a docking station. In the casesof the docking station, the charging may be transmitted throughelectrical ports or possibly through an inductance charging means thatdoes not require a physical electrical connection to be made.

As will be appreciated by one skilled in the art, aspects of the presentinvention may be embodied as a system, method or computer programproduct. Accordingly, aspects of the present invention may take the formof an entirely hardware embodiment, an entirely software embodiment(including firmware, resident software, micro-code, etc.) or anembodiment combining software and hardware aspects that may allgenerally be referred to herein as a “circuit,” “module” or “system.”Furthermore, aspects of the present invention may take the form of acomputer program product embodied in one or more computer readablemedium(s) having computer readable program code embodied thereon.

Any combination of one or more computer readable medium(s) may beutilized. The computer readable medium may be a computer readable signalmedium or a computer readable storage medium. A computer readablestorage medium may be, for example, but not limited to, an electronic,magnetic, optical, electromagnetic, infrared, or semiconductor system,apparatus, or device, or any suitable combination of the foregoing. Morespecific examples (a non-exhaustive list) of the computer readablestorage medium would include the following: an electrical connectionhaving one or more wires, a portable computer diskette, a hard disk, arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or flash memory), a portablecompact disc read-only memory (CD-ROM), an optical storage device, amagnetic storage device, or any suitable combination of the foregoing.In the context of this document, a computer readable storage medium maybe any tangible medium that can contain, or store a program for use byor in connection with an instruction execution system, apparatus, ordevice.

A computer readable signal medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer readable signal medium may be any computer readable medium thatis not a computer readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus or device.

Program code embodied on a computer readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fiber cable, RF, etc., or any suitable combination ofthe foregoing.

Computer program code for carrying out operations for aspects of thepresent invention may be written in any combination of one or moreprogramming languages, including an object oriented programming languagesuch as Java, Smalltalk, C++ or the like and conventional proceduralprogramming languages, such as the C programming language or similarprogramming languages. The program code may execute entirely on theuser's computer, partly on the user's computer, as a stand-alonesoftware package, partly on the user's computer and partly on a remotecomputer or entirely on the remote computer or server. In the latterscenario, the remote computer may be connected to the user's computerthrough any type of network, including a local area network (LAN) or awide area network (WAN), or the connection may be made to an externalcomputer (for example, through the Internet using an Internet ServiceProvider).

Aspects of the present invention are described below with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems) and computer program products according to embodiments of thepresent invention. It will be understood that each block of theflowchart illustrations and/or block diagrams, and combinations ofblocks in the flowchart illustrations and/or block diagrams, can beimplemented by computer program instructions. These computer programinstructions may be provided to a processor of a general purposecomputer, special purpose computer, or other programmable dataprocessing apparatus to produce a machine, such that the instructions,which execute via the processor of the computer or other programmabledata processing apparatus, create means for implementing thefunction/acts specified in the flowchart and/or block diagram block orblocks.

These computer program instructions may also be stored in a computerreadable medium that can direct a computer, other programmable dataprocessing apparatus, or other devices to function in a particularmanner, such that the instructions stored in the computer readablemedium produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer,other programmable data processing apparatus, or other devices to causea series of operational steps to be performed on the computer, otherprogrammable apparatus or other devices to produce a computerimplemented process such that the instructions which execute on thecomputer or other programmable apparatus provide processes forimplementing the function/acts specified in the flowchart and/or blockdiagram block or blocks.

As stated in the Background section, currently, a computing device(e.g., smartphone) can be wirelessly synced with another computingdevice (e.g., desktop computer) in order to synchronize content that hasbeen added, deleted or updated. However, the computing device (e.g.,smartphone) is required to be plugged into a power source in order to bewirelessly synced with the other computing device. The computing deviceis required to be plugged into a power source in order to wirelesslysync content as the computing device can end up in a “bad” state ifpower disappears during the synchronization of the content. However,since the computing device is required to be plugged into a powersource, it would not be much of an issue to also use a sync cable tosynchronize data contained on these two devices. Hence, the benefit ofwirelessly syncing content between two devices is greatly lessened.Furthermore, a power cable may easily become disconnected with thecomputing device, such as by accidentally tripping over the cable orpicking up a mobile computing device to check the status of thesynchronization causing the power cable to be unplugged from the powersource. Furthermore, a power outage may occur. Hence, the computingdevice may still end up in a “bad” state even if the computing devicewas originally plugged into a power source. As a result, the requirementof connecting the computing device to a power source in order towirelessly sync content has many drawbacks.

The principles of the present invention provide a means forsynchronizing content without requiring the computing device to beplugged into a power source as discussed further below in connectionwith FIGS. 3A-3B.

FIGS. 3A-3B are a flowchart of a method 300 for wirelessly synchronizingcontent without requiring computing device 101 (e.g., computing device101A) to be plugged into a power source in accordance with an embodimentof the present invention.

Referring to FIG. 3A, in conjunction with FIGS. 1-2, in step 301,analytics engine 103 of computing device 101A monitors the usage of theapplications and the content of the applications by a user of computingdevice 101A to determine a level of importance of the types (e.g.,audio, video) and/or properties (e.g., sales deals that exceed $100,000)of the data that make up the content of the applications. For example,new songs and new videos may represent a higher priority than updatesfor an e-mail application based on the user's usage of mediaapplications (e.g., user is constantly viewing, updating, etc. mediaapplications) as opposed to the user's usage of e-mail applications(e.g., user only checks e-mail once every couple days). In anotherexample, sales deals that exceed $100,000 may represent a higherpriority as opposed to sales deals that are less than $10,000 based onthe user's e-mails to the user's marketing team focusing on only thosedeals that exceed $100,000.

In step 302, analytics engine 103 gathers and stores informationregarding battery usage for data synchronizations. In one embodiment,analytics engine 103 generates distribution curves based on batteryusage for synchronizing particular types of data (e.g., songs, videos,e-mail). That is, analytics engine 103 may generate a distribution curvefor each type of data that indicates an amount of battery usage fordifferent quantities of that data based on historical synchronizationsfor that data. Such information may be stored in computing device 101A,such as in disk unit 208. Furthermore, analytics engine 103 may generatea table indicating an average amount of content that is synced for eachapplication. Such a table may be stored in computing device 101A, suchas in disk unit 208. For instance, analytics engine 103 of computingdevice 101A may track the amount of data that has been synced withcomputing device 101B each time a media application has been updated oncomputing device 101A. Analytics engine 103 may then compute the averageamount of data that has been synced with computing device 101A each timethe media application is updated and store such information in the tablediscussed above.

In step 303, analytics engine 103 receives an indication for content ofan application(s) (e.g., media library application) from computingdevice 101B to be synced with computing device 101A.

In step 304, analytics engine 103 determines an estimated amount ofcontent of the application(s) from computing device 101B to be syncedwith computing device 101A as well as an estimated amount of batteryusage of the user's computing device 101A for syncing the estimatedamount of content of the application(s) from computing device 101 B withcomputing device 101A based on the stored information (informationstored in step 302). For example, analytics engine 103 may consult thetable indicating an average amount of content that is synced for eachapplication to determine an estimated amount of content from theseapplication(s) that are to be synced. Furthermore, analytics engine 103may consult the distribution curves based on battery usage forsynchronizing particular types of data (e.g., songs, videos, e-mail) todetermine an estimated amount of battery usage of computing device 101Afor syncing the estimated amount of content of these application(s).

In step 305, a determination is made by analytics engine 103 as towhether there is enough battery life of computing device 101A to syncthe content of these application(s).

If there is enough battery life to sync the content of theapplication(s), then, in step 306, a determination is made by analyticsengine 103 as to whether the remaining battery life of computing device101A after syncing the content is below a threshold (e.g., 10% ofbattery life). In one embodiment, such a threshold is user-defined.

If the remaining battery life after syncing the content would be below athreshold (e.g., 10% of battery life), then, in step 307, analyticsengine 103 informs the user of computing device 101A regarding thebattery life being below a threshold level after syncing content.

In step 308, analytics engine 103 provides the user of computing device101A an option to sync or not sync the content of the application(s).

In step 309, a determination is made by analytics engine 103 as towhether computing device 101A receives permission from the user to syncthe content of the application(s).

If computing device 101A receives permission from the user to sync thecontent of the application(s), then, in step 310, analytics engine 103syncs the content of the applications(s).

If, however, computing device 101A does not receive permission from theuser to sync the content of the application(s), then, in step 311,analytics engine 103 does not sync the content of the applications(s).

Referring to step 306, if the remaining battery life of computing device101A after syncing the content exceeds the threshold, then analyticsengine 103 provides the user an option to sync or not sync the contentof the application(s) in step 308.

Referring to step 305, if there is not enough battery life to sync thecontent of the application(s), then, referring to FIG. 3B, inconjunction with FIGS. 1-2, in step 312, analytics engine 103 informsthe user of computing device 101A regarding there not being enoughbattery life to sync the content of the application(s).

In step 313, analytics engine 103 provides the user of computing device101A an option to provide a level of importance for the types and/orproperties of the data that make up the content of the application(s).For example, if the content to be synchronized relates to potentialsales deals, then the sales deals with the biggest revenue impact may berated a higher priority over those with a smaller revenue impact therebyhaving those sales deals with the biggest revenue impact to be syncedand having those sales deals with a smaller revenue impact to be syncedlater after the battery life of computing device 101A has increased asdiscussed below.

In step 314, a determination is made by analytics engine 103 as towhether analytics engine 103 received any user input regarding the levelof importance of the types and/or properties of the data that make upthe content of the application(s) to be synced with computing device101A. Referring to the example above concerning the sales deals, theuser of computing device 101A may indicate that those sales deals withthe biggest revenue impact are to be rated a higher priority over thosewith a smaller revenue impact.

If analytics engine 103 received user input regarding the level ofimportance of the types and/or properties of the data that make up thecontent of the application(s) to be synced with computing device 101,then, in step 315, analytics engine 103 prioritizes the types and/orproperties of the data that make up the content of the application(s) tobe synced with computing device 101A based on the user input.

If, however, analytics engine 103 did not receive user input regardingthe level of importance of the types and/or properties of the data thatmake up the content of the application(s) to be synced with computingdevice 101A, then, in step 316, analytics engine 103 prioritizes thetypes and/or properties of the data that make up the content of theapplication(s) to be synced with computing device 101A based on thedetermined level of importance (determined in step 301 of FIG. 3A) ofthe types and/or properties of the data that make up the content of theapplication(s) to be synced with computing device 101A.

Upon prioritizing the types and/or properties of the data that make upthe content of the application(s) to be synced with computing device101A in steps 315, 316, analytics engine 103, in step 317, selects asubset of the data that make up the content of the application (e.g.,selecting only those sales deals with the biggest revenue) to be syncedwith computing device 101A based on the determined prioritization(prioritization determined in steps 315, 316). In this manner, whenthere is not enough battery life for computing device 101A to wirelesslysync the entire content, computing device 101A will first sync the datathat is important to the user of computing device 101A. Later, aftercomputing device 101A has increased its battery life, the data that israted with a low prioritization can be synced. In this manner, computingdevice 101A does not need to be plugged into a power source and willonly sync the amount of content that computing device 101A has power todo so. As a result, computing device 101A will not enter a “bad” statesince power should not disappear during the synchronization of thecontent.

In step 318, analytics engine 103 provides the user an option to sync ornot sync the selected data of the content of the application(s).

In step 319, a determination is made by analytics engine 103 as towhether computing device 101A receives permission from the user to syncthe selected data of the content of the application(s).

If computing device 101A receives permission from the user to sync theselected data of the content of the application(s), then, in step 320,analytics engine 103 syncs the selected data of the content of theapplication(s).

If, however, computing device 101A does not receive permission from theuser to sync the selected data of the content of the application(s),then, in step 321, analytics engine 103 does not sync the selected dataof the content of the application(s).

In some implementations, method 300 may include other and/or additionalsteps that, for clarity, are not depicted. Further, in someimplementations, method 300 may be executed in a different orderpresented and that the order presented in the discussion of FIGS. 3A-3Bis illustrative. Additionally, in some implementations, certain steps inmethod 300 may be executed in a substantially simultaneous manner or maybe omitted.

The descriptions of the various embodiments of the present inventionhave been presented for purposes of illustration, but are not intendedto be exhaustive or limited to the embodiments disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of the describedembodiments. The terminology used herein was chosen to best explain theprinciples of the embodiments, the practical application or technicalimprovement over technologies found in the marketplace, or to enableothers of ordinary skill in the art to understand the embodimentsdisclosed herein.

1. A method for wirelessly syncing content, the method comprising:gathering and storing information regarding battery usage for datasynchronizations with a device; receiving an indication for content ofan application to be synced with said device; determining an estimatedamount of content of said application to be synced with said device aswell as an estimated amount of battery usage for syncing said estimatedamount of content of said application with said device based on saidstored information; and syncing, by a processor, said content of saidapplication with said device in response to a battery life of saiddevice exceeding said estimated amount of battery usage for syncing saidcontent of said application with said device.
 2. The method as recitedin claim 1 further comprising: informing a user of said device regardinga remaining battery life after syncing said content of said applicationbeing below a threshold in response to said remaining battery life aftersyncing said content of said application being below said threshold. 3.The method as recited in claim 2, wherein said threshold isuser-defined.
 4. The method as recited in claim 1 further comprising:monitoring usage of applications and content of applications by a userof said device to determine a level of importance of types and/orproperties of data that make up said content of said applications. 5.The method as recited in claim 1 further comprising: prioritizing datathat make up said content of said application to be synced with saiddevice based on a determined level of importance of types and/orproperties of said data that make up said content of said application;and selecting a subset of said data of said content of said applicationto be synced with said device based on said prioritization in responseto said battery life of said device being less than said battery usagefor syncing said content of said application with said device.
 6. Themethod as recited in claim 5 further comprising: providing a user ofsaid device an option to sync or not sync said selected data of saidcontent of said application with said device.
 7. The method as recitedin claim 1 further comprising: receiving input from a user of saiddevice regarding a level of importance of types and/or properties ofdata that make up said content of said application to be synced withsaid device; prioritizing said data of said content of said applicationto be synced with said device based on said user input; and selecting asubset of said data of said content of said application to be syncedwith said device based on said prioritization in response to saidbattery life of said device being less than said battery usage forsyncing said content of said application with said device.
 8. The methodas recited in claim 7 further comprising: providing said user of saiddevice an option to sync or not sync said selected data of said contentof said application with said device.